Apache Tapestry ফ্রেমওয়ার্কে Form Handling এবং Input Validation খুবই গুরুত্বপূর্ণ বিষয়, যা অ্যাপ্লিকেশনের ডেটা সংগ্রহ এবং ব্যবহারকারীর ইনপুট যাচাই করার প্রক্রিয়াকে সহজ ও কার্যকর করে তোলে। Tapestry ফ্রেমওয়ার্কের সাহায্যে আপনি খুব সহজেই ফর্ম তৈরি, ইনপুট সংগ্রহ, এবং ইনপুট ভ্যালিডেশন সম্পাদন করতে পারেন।
এখানে আমরা Form Handling এবং Input Validation কিভাবে Tapestry-তে কাজ করে তা বিস্তারিতভাবে আলোচনা করবো।
Tapestry তে ফর্ম হ্যান্ডলিং অত্যন্ত সহজ। এটি HTML forms এবং Java ক্লাসের মধ্যে ইন্টারঅ্যাকশন ম্যানেজ করে। Tapestry ফর্মগুলো পরিচালনা করতে t:form
ট্যাগ ব্যবহার করা হয়, যা ফর্মের উপাদান এবং তাদের ইনপুট ভ্যালুসমূহ সংরক্ষণ করে।
প্রথমে, একটি HTML টেমপ্লেটে একটি ফর্ম তৈরি করা হয় যেখানে ইনপুট ফিল্ডগুলি ব্যবহারকারীর ডেটা গ্রহণ করতে ব্যবহৃত হয়। এরপর, Java ক্লাসের মাধ্যমে সেই ডেটা প্রক্রিয়া করা হয়।
<!DOCTYPE html>
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
<head>
<title>Sample Form</title>
</head>
<body>
<h1>Enter Your Details</h1>
<t:form t:id="userForm" onsubmit="return validateForm()">
<t:textfield t:id="username" value="username" />
<t:passwordfield t:id="password" value="password" />
<t:submit>Submit</t:submit>
</t:form>
</body>
</html>
এখানে:
t:textfield
এবং t:passwordfield
ইনপুট ফিল্ড হিসাবে কাজ করে।t:form
ট্যাগটি ফর্মের মাধ্যমে ইনপুট ডেটা সংগ্রহ এবং প্রক্রিয়া করার জন্য ব্যবহৃত হয়।onsubmit="return validateForm()"
দিয়ে ফর্ম সাবমিটের আগে JavaScript ভ্যালিডেশন করা হচ্ছে।Java ক্লাসে ফর্মের ডেটা প্রক্রিয়া করার জন্য, Tapestry Form Submission মেথড ব্যবহার করা হয়। এখানে onSubmit
মেথডে ইনপুট ডেটা প্রক্রিয়া করা হয়।
public class UserForm {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void onSubmit() {
// Form submission handler
System.out.println("Username: " + username);
System.out.println("Password: " + password);
}
}
এখানে:
getUsername()
এবং setUsername()
মেথড ফর্মের ইনপুট ফিল্ডের মান গ্রহণ এবং সেট করার জন্য ব্যবহার করা হচ্ছে।onSubmit()
মেথড ফর্ম সাবমিটের পর কার্যকর হয় এবং ডেটা প্রসেস করা হয়।Tapestry ফ্রেমওয়ার্কে ইনপুট ভ্যালিডেশন অত্যন্ত সহজ এবং কার্যকরভাবে পরিচালনা করা যায়। t:validate
ট্যাগ ব্যবহার করে ফর্মের ইনপুটগুলোর ভ্যালিডেশন করা যায়। এটি Tapestry এর মধ্যে Built-in Validation ফিচার ব্যবহার করে।
Tapestry অনেক ধরনের Built-in Validation ফিচার প্রদান করে, যেমন:
<t:form t:id="userForm">
<t:textfield t:id="username" value="username" />
<t:requiredfieldvalidator t:for="username" message="Username is required!" />
<t:submit>Submit</t:submit>
</t:form>
এখানে t:requiredfieldvalidator
ইনপুট ফিল্ডে ভ্যালিডেশন যোগ করছে, যা নিশ্চিত করবে যে ব্যবহারকারী username
ফিল্ডটি খালি না রেখে সাবমিট করতে পারবে না।
Tapestry-তে আপনি Custom Validationও করতে পারেন যেখানে আপনি নিজস্ব কাস্টম ভ্যালিডেশন রুলস তৈরি করতে পারেন। @Validate
অ্যানোটেশন ব্যবহার করে এই কাস্টম ভ্যালিডেশন সংজ্ঞায়িত করা যায়।
public class UserForm {
private String username;
@Validate("minlength=5")
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public void onSubmit() {
// Validation passed
System.out.println("Username: " + username);
}
}
এখানে @Validate("minlength=5")
কাস্টম ভ্যালিডেশন যোগ করা হয়েছে যাতে username
ফিল্ডের মান কমপক্ষে ৫টি অক্ষরের হতে হবে।
t:form
ট্যাগের মাধ্যমে ফর্ম তৈরি এবং রেন্ডার করে।onSubmit()
মেথডে সেই ডেটা প্রক্রিয়া করা হয়।Tapestry-তে Form Handling এবং Input Validation অত্যন্ত শক্তিশালী এবং সহজ। ফর্ম ডেটা সংগ্রহ, প্রক্রিয়া এবং ইনপুট ভ্যালিডেশন কার্যক্রমকে Tapestry-তে খুবই স্বাভাবিক ও দক্ষভাবে পরিচালনা করা যায়। Tapestry এর Built-in Validation এবং Custom Validation ফিচারের মাধ্যমে আপনি সহজেই ইনপুট যাচাই করতে পারেন, যা ব্যবহারকারী থেকে সঠিক ডেটা সংগ্রহে সহায়তা করে।
Read more